/*
 * WriteInt.h
 *
 *  Created on: 17.04.2012
 *      Author: Eugene Kornykhin
 */

#ifndef WRITE_H_
#define WRITE_H_

#include "../PElement.h"
#include "Writer.h"

class Write: public PElement {
public:
	Write(const Writer&);
	Write(const Write &);
	virtual ~Write();

	Write &operator=(const Write &);

	virtual void execute(Interpreter &);

	virtual PolizPosition next_position_after(PolizPosition) const;
	virtual bool isHalt() const;
	virtual Write *clone(const Poliz &) const;
	string toString() const;

private:
	Writer *writer;
};

#endif /* WRITE_H_ */
